package mysql

import "gorm.io/gorm"

type UserInfo struct {
	gorm.Model
	PhoneNum      string `gorm:"type:varchar(30);not null"`
	Pwd           string `gorm:"type:varchar(150);not null"`
	NickName      string `gorm:"type:varchar(30);not null"`
	AvatarLink    string `gorm:"type:varchar(500)"`
	AccountStatus int    `gorm:"type:int(11)"`
	FollowNum     int    `gorm:"type:int(11)"`
	FansNum       int    `gorm:"type:int(11)"`
}

func (i *UserInfo) FirstUserByMobile(db *gorm.DB, mobile string) error {
	return db.Debug().Where("phone_num=?", mobile).First(i).Error
}

func (i *UserInfo) FindUserByMobile(db *gorm.DB, mobile string) error {
	return db.Debug().Where("phone_num=?", mobile).Find(i).Error
}

func (i *UserInfo) UserAdd(db *gorm.DB) error {
	return db.Debug().Create(i).Error
}

func (i *UserInfo) PasswordUpdate(db *gorm.DB, id int64) error {
	return db.Debug().Where("id=?", id).Updates(i).Error
}

func (i *UserInfo) FirstUserById(db *gorm.DB, id int64) error {
	return db.Debug().Where("id=?", id).First(i).Error
}

func (i *UserInfo) UserUpdate(db *gorm.DB, id int64) error {
	return db.Debug().Where("id=?", id).Updates(i).Error
}
